The present invention relates to a technique of updating a database.
In a distributed database system where a plurality of databases operate in a coordinated manner, update of the database should be performed so that information inconsistency does not occur between the databases. As one of such update methods, there is the “two-phase commit” protocol. Patent Document 1 describes a technique of using the two-phase commit.
In the two-phase commit, one database becomes a coordinator and the other databases cohorts. The two-phase commit includes a commit request phase and a commit phase. An execution procedure for a commit request phase is as follows.    1. The coordinator sends a message “Commit to the database may be executed?” to all the cohorts.    2. Each cohort proceeds with the transaction to the state where commit may be executed. Further, each cohort writes the entry into an undo log and a redo log.    3. Each cohort responds with a “agreement” message when the transaction is successful, or with a “halt” message when the transaction ends in failure.    4. The coordinator awaits reception of response messages from all the cohorts.
There are two types of commit phase, i.e. a success commit phase and a failure commit phase. A success commit phase is for the case where “agreement” messages have been received from all the cohorts. And, a failure commit phase is for the case where a cohort has responded with a “halt” message. An execution procedure for a success commit phase is as follows.    1. The coordinator sends a message “Execute commit” to all the cohorts.    2. Each cohort completes its operations, and releases all locks and resources held in the course of the transaction.    3. Each cohort sends a “completion response” message to the coordinator.    4. When the completion responses are received from all the cohorts, the coordinator considers that the transaction has been completed.
An execution procedure for a failure commit phase is as follows.    1. The coordinator sends a message “Execute roll-back” to all the cohorts.    2. Using the undo log, each cohort recovers the state before the execution of transaction, and releases all locks and resources held in the course of the transaction.    3. Each cohort sends a “completion response” message to the coordinator.    4. When completion responses are received from all the cohorts, the coordinator considers that the transaction has been completed.
According to the two-phase commit, all databases either complete update of registered information or return to the state before the update of the registered information. As a result, there will not arise a state where consistency between databases is lost, such as a state where some databases have completed their update while the other databases have not been updated, for example.
Patent Document 1: Japanese Un-examined Patent Application Laid-Open No. 2004-295272
Now, it is considered that a plurality of home apparatuses would operate with apparatuses which are provided with respective databases in a coordinated manner. In such a case, it is considered that consistency between these databases should be ensured. However, it is not expected in a home that all apparatuses provided with databases are in an environment enabling their update at all times. For example, it may be considered that an apparatus is not always supplied with power. Or, for example, it may be considered that sometimes an apparatus is taken out from the home and can not be accessed. If the above-described two-phase commit is applied for updating databases in such an environment, update of all the apparatuses can not be done when there is only one apparatus which can not be updated.
However, home apparatuses may not require strict consistency in all databases. For example, in the case where information of databases is broadcast program guide information and a content of change in the information is a change in the cast members of a program, then it is not necessary that all the apparatuses have the changed broadcast program guide information at the same point of time.